package com.swf.seed.algorithms.sort;

import com.swf.seed.algorithms.util.SortUtil;

/**
 *
 * ClassName: SortBubble <br/>
 * Function: 冒泡排序. <br/>
 * Reason: 冒泡排序是非常容易理解和实现，，以从小到大排序举例：<br/>
 * 设数组长度为N。<br/>
 * 1．比较相邻的前后二个数据，如果前面数据大于后面的数据，就将二个数据交换。<br/>
 * 2．这样对数组的第0个数据到N-1个数据进行一次遍历后，最大的一个数据就“沉”到数组第N-1个位置。<br/>
 * 3．N=N-1，如果N不为0就重复前面二步，否则排序完成. <br/>
 * date: 2015-1-19 上午11:37:13 <br/>
 *
 * @author shenwf10476
 * @version
 * @since JDK 1.6
 */
public class SortBubble implements Sort {

	@Override
	public int[] sort(int[] ori) {
		int size = ori.length;
		for (int i=1;i<size;i++){
			for (int j=0;j<size-i;j++){
				if (ori[j]>ori[j+1]){
					SortUtil.swap(ori, j, j+1);
				}
			}
		}
		return ori;
	}
}
